package com.ctl.szmd.szmd.feature_wm.data.repository

import androidx.paging.PagingData
import com.ctl.lib_common.utils.http.MyResult
import com.ctl.szmd.szmd.feature_wm.data.bean.FulianSubOrgInfoForListForApiList
import com.ctl.szmd.szmd.feature_wm.data.bean.WmDataBean
import com.ctl.szmd.szmd.feature_wm.data.model.WmDataListModel
import com.ctl.szmd.szmd.feature_wm.data.model.WmDataModel
import kotlinx.coroutines.flow.Flow

/**
 * created by : chentl
 * Date: 2020/07/23
 */
interface WmRepository {

    fun downloadFile(url: String, name: String)

    suspend fun getLoginInfo(map: MutableMap<String, Any>): Flow<MyResult<WmDataModel>>

    suspend fun getInfoFacePartyListData(): Flow<PagingData<WmDataListModel>>

    suspend fun getInfoWomenHeadlineListData(): Flow<List<WmDataListModel>>

    fun getHeadlineListData(): Flow<PagingData<WmDataListModel>>

    fun getBasicStyleList(): Flow<PagingData<WmDataListModel>>

    fun getPettyLoanList(): Flow<PagingData<WmDataListModel>>

    suspend fun getInfoVisitCountStatistics(visitTypeNum: Int, infoId: String)

    suspend fun getInfoWebViewAttachmentList(
        path: String,
        map: MutableMap<String, String>
    ): Flow<MyResult<WmDataModel>>

    suspend fun getBasicStyleListData(currentPage: Int, pageSize: Int): Flow<List<WmDataListModel>>

    fun getFulianAppIndexIntro(): Flow<WmDataModel>

    fun getFulianAppIndexSubOrgContentInfoList(dep_id: String?): Flow<PagingData<FulianSubOrgInfoForListForApiList>>

    suspend fun getFulianMyCenterMyInfo(): Flow<WmDataBean>
}